export type CommonType = {
  [x: string]: CommonTypeItem
}
export type CommonTypeItem = {
  id: number
  code: string
  label: string
  checked: boolean
  indeterminate?: boolean
  isVisibile?: boolean
  parentCode?: string
  level: number
  children: CommonDataItem[]
}
export type CommonDataItem = {
  id: number
  code: string
  label: string
  checked: boolean
  children: any[]
  indeterminate?: boolean
  isVisibile?: boolean
  parentCode?: string
  level: number
}
export type CompDetaileConfigItem = {
  id: number
  code: string
  label: string
  checked: boolean
  parentCode?: string
  level?: number
  children: {
    id: number
    code: string
    label: string
    checked: boolean
    level?: number
  }[]
}
export type AllChildItem = {
  id: number
  code: string
  label: string
  checked: boolean
  parentCode?: string
  level?: number
}
export type CommonItem = {
  [x: string]: CommonTypeItem[]
}
export interface RoleState {
  moduleConfig: CommonType
  pageConfig: CommonType
  componentConfig: CommonType
  compDetaileConfig: {
    [x: string]: CompDetaileConfigItem
  }
  allData: {
    [x: string]: CommonDataItem[]
  }
  allDataConfig: CommonDataItem[]
  moduleArr: {
    [x: string]: CommonTypeItem
  }
  routerArr: CommonItem
  pageArr: CommonItem
  compArr: CommonItem
  detailArr: CommonItem
}